podatki <- read.table("/cloud/project/Poglavje 6/Naloga 1/Države.csv", header=TRUE, sep=";", dec="," )
print(podatki)
## Država A B C D BDP Brezpos Regija
## 1 Avstrija 3.3 16.1 32.3 23.3 38110 4.3 2
## 2 Belgija 1.2 11.6 25.9 30.5 36090 5.3 2
## 3 Bolgarija 16.9 20.0 30.6 15.8 6630 4.1 3
## 4 Češka 2.9 28.8 28.2 18.3 18460 2.0 3
## 5 Ciper 3.4 9.3 39.3 19.6 25370 6.0 1
## 6 Danska 2.3 10.8 32.4 30.2 49270 4.9 4
## 7 Estonija 3.1 20.1 31.4 22.3 15510 4.5 3
## 8 Finska 3.4 14.0 26.2 28.8 37150 6.6 4
## 9 Francija 2.6 10.2 29.1 29.3 33320 8.2 2
## 10 Grčija 10.9 9.5 37.5 22.0 17760 16.5 1
## 11 Hrvaška 6.2 21.0 32.4 22.2 12700 6.1 3
## 12 Irska 4.5 11.1 36.2 25.6 60130 4.8 2
## 13 Islandija 3.5 12.1 33.4 28.5 39160 3.2 4
## 14 Italija 3.6 16.8 31.0 18.8 27210 9.8 1
## 15 Latvija 7.3 15.8 32.8 20.5 12530 6.6 3
## 16 Litva 6.4 18.0 31.3 22.9 14050 6.4 3
## 17 Luksemburg 0.8 8.1 37.9 20.7 85030 5.7 2
## 18 Madžarska 4.0 21.2 29.0 21.1 13270 3.4 3
## 19 Malta 1.4 10.7 35.9 22.5 22730 3.4 1
## 20 Nemčija 1.3 18.5 28.0 25.0 35980 3.2 2
## 21 Nizozemska 2.1 9.2 30.4 26.4 41980 3.0 2
## 22 Norveška 2.3 11.0 27.1 35.9 69490 3.7 4
## 23 Poljska 9.2 24.1 27.9 20.3 13020 2.9 3
## 24 Portugalska 8.1 17.1 29.5 20.6 18670 6.9 1
## 25 Romunija 21.8 21.6 26.5 13.8 9120 3.9 3
## 26 Slovaška 3.0 23.9 30.7 19.9 15890 5.7 3
## 27 Slovenija 6.9 23.2 26.8 18.5 20720 4.7 3
## 28 Španija 3.9 11.3 34.1 22.1 25200 13.7 1
## 29 Švedska 1.9 12.2 25.8 33.6 44180 7.0 4
## 30 Švica 2.6 14.0 29.3 24.5 62800 2.6 2
## 31 UK 1.2 9.0 33.6 24.7 32910 3.9 2
Opis spremenljivk:
rownames(podatki) <- podatki$Država
podatki$RegijaF <- factor(podatki$Regija,
levels = c(1, 2, 3, 4),
labels = c("J", "Z", "V", "S"))
summary(podatki[c(-1, -8)])
## A B C D
## Min. : 0.800 Min. : 8.10 Min. :25.80 Min. :13.80
## 1st Qu.: 2.300 1st Qu.:10.90 1st Qu.:28.10 1st Qu.:20.40
## Median : 3.400 Median :14.00 Median :30.70 Median :22.30
## Mean : 4.903 Mean :15.49 Mean :31.05 Mean :23.49
## 3rd Qu.: 6.300 3rd Qu.:20.05 3rd Qu.:33.10 3rd Qu.:26.00
## Max. :21.800 Max. :28.80 Max. :39.30 Max. :35.90
## BDP Brezpos RegijaF
## Min. : 6630 Min. : 2.000 J: 6
## 1st Qu.:15700 1st Qu.: 3.550 Z: 9
## Median :25370 Median : 4.800 V:11
## Mean :30788 Mean : 5.581 S: 5
## 3rd Qu.:38635 3rd Qu.: 6.500
## Max. :85030 Max. :16.500
podatki_clu_std <- as.data.frame(scale(podatki[c("A", "B", "C", "D")]))
library(factoextra)
get_clust_tendency(podatki_clu_std,
n = nrow(podatki_clu_std) - 1,
graph = FALSE)
## $hopkins_stat
## [1] 0.6777631
##
## $plot
## NULL
library(dplyr)
WARD <- podatki_clu_std %>%
get_dist(method = "euclidean") %>%
hclust(method = "ward.D2")
WARD
##
## Call:
## hclust(d = ., method = "ward.D2")
##
## Cluster method : ward.D2
## Distance : euclidean
## Number of objects: 31
library(factoextra)
fviz_dend(WARD)
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use
## `guides(<scale> = "none")` instead.
podatki$RazvrstitevWARD <- cutree(WARD,
k = 4)
head(podatki[c("RazvrstitevWARD")])
## RazvrstitevWARD
## Avstrija 1
## Belgija 2
## Bolgarija 3
## Češka 1
## Ciper 4
## Danska 2
library(factoextra)
MetodaVod <- hkmeans(podatki_clu_std,
k = 4,
hc.metric = "euclidean",
hc.method = "ward.D2")
MetodaVod
## Hierarchical K-means clustering with 4 clusters of sizes 13, 9, 2, 7
##
## Cluster means:
## A B C D
## 1 0.0259099 0.8749232 -0.2565529 -0.4842167
## 2 -0.5339514 -0.6868933 -0.5961994 1.2429221
## 3 3.1231623 0.9552372 -0.6758510 -1.7270840
## 4 -0.2539416 -1.0146337 1.4360977 -0.2053305
##
## Clustering vector:
## Avstrija Belgija Bolgarija Češka Ciper
## 1 2 3 1 4
## Danska Estonija Finska Francija Grčija
## 2 1 2 2 4
## Hrvaška Irska Islandija Italija Latvija
## 1 4 2 1 1
## Litva Luksemburg Madžarska Malta Nemčija
## 1 4 1 4 1
## Nizozemska Norveška Poljska Portugalska Romunija
## 2 2 1 1 3
## Slovaška Slovenija Španija Švedska Švica
## 1 1 4 2 2
## UK
## 4
##
## Within cluster sum of squares by cluster:
## [1] 14.457552 9.299226 1.296595 6.565731
## (between_SS / total_SS = 73.7 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss"
## [5] "tot.withinss" "betweenss" "size" "iter"
## [9] "ifault" "data" "hclust"
library(factoextra)
fviz_cluster(MetodaVod,
palette = "Dark2",
repel = FALSE,
ggtheme = theme_linedraw())
podatki$RazvrstitevVod <- MetodaVod$cluster
print(podatki[c("RazvrstitevWARD", "RazvrstitevVod")])
## RazvrstitevWARD RazvrstitevVod
## Avstrija 1 1
## Belgija 2 2
## Bolgarija 3 3
## Češka 1 1
## Ciper 4 4
## Danska 2 2
## Estonija 1 1
## Finska 2 2
## Francija 2 2
## Grčija 4 4
## Hrvaška 1 1
## Irska 4 4
## Islandija 2 2
## Italija 1 1
## Latvija 1 1
## Litva 1 1
## Luksemburg 4 4
## Madžarska 1 1
## Malta 4 4
## Nemčija 1 1
## Nizozemska 2 2
## Norveška 2 2
## Poljska 1 1
## Portugalska 1 1
## Romunija 3 3
## Slovaška 1 1
## Slovenija 1 1
## Španija 4 4
## Švedska 2 2
## Švica 1 2
## UK 4 4
table(podatki$RazvrstitevWARD)
##
## 1 2 3 4
## 14 8 2 7
table(podatki$RazvrstitevVod)
##
## 1 2 3 4
## 13 9 2 7
table(podatki$RazvrstitevWARD, podatki$RazvrstitevVod)
##
## 1 2 3 4
## 1 13 1 0 0
## 2 0 8 0 0
## 3 0 0 2 0
## 4 0 0 0 7
Povprečja <- MetodaVod$centers
Slika <- as.data.frame(Povprečja)
Slika$id <- 1:nrow(Slika)
library(tidyr)
##
## Attaching package: 'tidyr'
## The following object is masked from 'package:magrittr':
##
## extract
Slika <- pivot_longer(Slika, cols = c("A", "B", "C", "D"))
Slika$Skupina <- factor(Slika$id,
levels = c(1, 2, 3, 4),
labels = c("1", "2", "3", "4"))
Slika$ImeF <- factor(Slika$name,
levels = c("A", "B", "C", "D"),
labels = c("A", "B", "C","D"))
library(ggplot2)
ggplot(Slika, aes(x=ImeF, y=value)) +
geom_hline(yintercept=0) +
theme_linedraw() +
geom_point(aes(shape=Skupina, col=Skupina), size=3) +
geom_line((aes(group = id, linetype = Skupina)), size = 1) +
ylab("Povprečje") +
xlab("Razvrstitvene spremenljivke")+
ylim(-2, 3.5)
fit <- aov(cbind(A, B, C, D) ~ as.factor(RazvrstitevVod),
data = podatki)
summary(fit)
## Response A :
## Df Sum Sq Mean Sq F value Pr(>F)
## as.factor(RazvrstitevVod) 3 482.17 160.722 27.166 2.615e-08 ***
## Residuals 27 159.74 5.916
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response B :
## Df Sum Sq Mean Sq F value Pr(>F)
## as.factor(RazvrstitevVod) 3 716.83 238.945 30.877 7.092e-09 ***
## Residuals 27 208.95 7.739
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response C :
## Df Sum Sq Mean Sq F value Pr(>F)
## as.factor(RazvrstitevVod) 3 265.17 88.391 16.483 2.758e-06 ***
## Residuals 27 144.78 5.362
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response D :
## Df Sum Sq Mean Sq F value Pr(>F)
## as.factor(RazvrstitevVod) 3 587.72 195.905 30.779 7.327e-09 ***
## Residuals 27 171.85 6.365
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
aggregate(podatki$BDP,
by = list(podatki$RazvrstitevVod),
FUN = mean)
## Group.1 x
## 1 1 19701.54
## 2 2 45937.78
## 3 3 7875.00
## 4 4 38447.14
aggregate(podatki$Brezpos,
by = list(podatki$RazvrstitevVod),
FUN = mean)
## Group.1 x
## 1 1 5.115385
## 2 2 4.944444
## 3 3 4.000000
## 4 4 7.714286
fit <- aov(cbind(BDP, Brezpos) ~ as.factor(RazvrstitevVod),
data = podatki)
summary(fit)
## Response BDP :
## Df Sum Sq Mean Sq F value Pr(>F)
## as.factor(RazvrstitevVod) 3 5124115502 1708038501 7.8725 0.0006244
## Residuals 27 5857979718 216962212
##
## as.factor(RazvrstitevVod) ***
## Residuals
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response Brezpos :
## Df Sum Sq Mean Sq F value Pr(>F)
## as.factor(RazvrstitevVod) 3 43.321 14.4402 1.585 0.216
## Residuals 27 245.988 9.1107
hi_kvadrat <- chisq.test(podatki$RegijaF, as.factor(podatki$RazvrstitevVod))
## Warning in chisq.test(podatki$RegijaF,
## as.factor(podatki$RazvrstitevVod)): Chi-squared approximation may be
## incorrect
hi_kvadrat
##
## Pearson's Chi-squared test
##
## data: podatki$RegijaF and as.factor(podatki$RazvrstitevVod)
## X-squared = 34.429, df = 9, p-value = 7.51e-05
addmargins(hi_kvadrat$observed)
##
## podatki$RegijaF 1 2 3 4 Sum
## J 2 0 0 4 6
## Z 2 4 0 3 9
## V 9 0 2 0 11
## S 0 5 0 0 5
## Sum 13 9 2 7 31
addmargins(round(hi_kvadrat$expected, 2))
##
## podatki$RegijaF 1 2 3 4 Sum
## J 2.52 1.74 0.39 1.35 6.00
## Z 3.77 2.61 0.58 2.03 8.99
## V 4.61 3.19 0.71 2.48 10.99
## S 2.10 1.45 0.32 1.13 5.00
## Sum 13.00 8.99 2.00 6.99 30.98
round(hi_kvadrat$res, 2)
##
## podatki$RegijaF 1 2 3 4
## J -0.33 -1.32 -0.62 2.27
## Z -0.91 0.86 -0.76 0.68
## V 2.04 -1.79 1.53 -1.58
## S -1.45 2.95 -0.57 -1.06
fisher.test(podatki$RegijaF, as.factor(podatki$RazvrstitevVod))
##
## Fisher's Exact Test for Count Data
##
## data: podatki$RegijaF and as.factor(podatki$RazvrstitevVod)
## p-value = 5.584e-06
## alternative hypothesis: two.sided
library(ggplot2)
ggplot(podatki, aes(x=RazvrstitevVod, fill=RegijaF)) +
geom_bar(position="fill", color = "black") +
ylab("Delež") +
xlab("Skupina") +
labs(fill="Evropa") +
scale_fill_grey(start=0.0, end=0.98) +
theme_linedraw()
print(podatki)
## Država A B C D BDP Brezpos Regija
## Avstrija Avstrija 3.3 16.1 32.3 23.3 38110 4.3 2
## Belgija Belgija 1.2 11.6 25.9 30.5 36090 5.3 2
## Bolgarija Bolgarija 16.9 20.0 30.6 15.8 6630 4.1 3
## Češka Češka 2.9 28.8 28.2 18.3 18460 2.0 3
## Ciper Ciper 3.4 9.3 39.3 19.6 25370 6.0 1
## Danska Danska 2.3 10.8 32.4 30.2 49270 4.9 4
## Estonija Estonija 3.1 20.1 31.4 22.3 15510 4.5 3
## Finska Finska 3.4 14.0 26.2 28.8 37150 6.6 4
## Francija Francija 2.6 10.2 29.1 29.3 33320 8.2 2
## Grčija Grčija 10.9 9.5 37.5 22.0 17760 16.5 1
## Hrvaška Hrvaška 6.2 21.0 32.4 22.2 12700 6.1 3
## Irska Irska 4.5 11.1 36.2 25.6 60130 4.8 2
## Islandija Islandija 3.5 12.1 33.4 28.5 39160 3.2 4
## Italija Italija 3.6 16.8 31.0 18.8 27210 9.8 1
## Latvija Latvija 7.3 15.8 32.8 20.5 12530 6.6 3
## Litva Litva 6.4 18.0 31.3 22.9 14050 6.4 3
## Luksemburg Luksemburg 0.8 8.1 37.9 20.7 85030 5.7 2
## Madžarska Madžarska 4.0 21.2 29.0 21.1 13270 3.4 3
## Malta Malta 1.4 10.7 35.9 22.5 22730 3.4 1
## Nemčija Nemčija 1.3 18.5 28.0 25.0 35980 3.2 2
## Nizozemska Nizozemska 2.1 9.2 30.4 26.4 41980 3.0 2
## Norveška Norveška 2.3 11.0 27.1 35.9 69490 3.7 4
## Poljska Poljska 9.2 24.1 27.9 20.3 13020 2.9 3
## Portugalska Portugalska 8.1 17.1 29.5 20.6 18670 6.9 1
## Romunija Romunija 21.8 21.6 26.5 13.8 9120 3.9 3
## Slovaška Slovaška 3.0 23.9 30.7 19.9 15890 5.7 3
## Slovenija Slovenija 6.9 23.2 26.8 18.5 20720 4.7 3
## Španija Španija 3.9 11.3 34.1 22.1 25200 13.7 1
## Švedska Švedska 1.9 12.2 25.8 33.6 44180 7.0 4
## Švica Švica 2.6 14.0 29.3 24.5 62800 2.6 2
## UK UK 1.2 9.0 33.6 24.7 32910 3.9 2
## RegijaF RazvrstitevWARD RazvrstitevVod
## Avstrija Z 1 1
## Belgija Z 2 2
## Bolgarija V 3 3
## Češka V 1 1
## Ciper J 4 4
## Danska S 2 2
## Estonija V 1 1
## Finska S 2 2
## Francija Z 2 2
## Grčija J 4 4
## Hrvaška V 1 1
## Irska Z 4 4
## Islandija S 2 2
## Italija J 1 1
## Latvija V 1 1
## Litva V 1 1
## Luksemburg Z 4 4
## Madžarska V 1 1
## Malta J 4 4
## Nemčija Z 1 1
## Nizozemska Z 2 2
## Norveška S 2 2
## Poljska V 1 1
## Portugalska J 1 1
## Romunija V 3 3
## Slovaška V 1 1
## Slovenija V 1 1
## Španija J 4 4
## Švedska S 2 2
## Švica Z 1 2
## UK Z 4 4